#ifndef __COLOR_H
#define __COLOR_H

#define COLOR_BLACK "\033[0;30m"
#define COLOR_RED "\033[0;31m"
#define COLOR_GREEN "\033[0;32m"
#define COLOR_YELLOW "\033[0;33m"
#define COLOR_BLUE "\033[0;34m"
#define COLOR_MAGENTA "\033[0;35m"
#define COLOR_CYAN "\033[0;36m"
#define COLOR_WHITE "\033[0;37m"

#define COLOR_BLACK_BOLD "\033[1;30m"
#define COLOR_RED_BOLD "\033[1;31m"
#define COLOR_GREEN_BOLD "\033[1;32m"
#define COLOR_YELLOW_BOLD "\033[1;33m"
#define COLOR_BLUE_BOLD "\033[1;34m"
#define COLOR_MAGENTA_BOLD "\033[1;35m"
#define COLOR_CYAN_BOLD "\033[1;36m"
#define COLOR_WHITE_BOLD "\033[1;37m"

#define COLOR_BLACK_UNDERLINE "\033[4;30m"
#define COLOR_RED_UNDERLINE "\033[4;31m"
#define COLOR_GREEN_UNDERLINE "\033[4;32m"
#define COLOR_YELLOW_UNDERLINE "\033[4;33m"
#define COLOR_BLUE_UNDERLINE "\033[4;34m"
#define COLOR_MAGENTA_UNDERLINE "\033[4;35m"
#define COLOR_CYAN_UNDERLINE "\033[4;36m"
#define COLOR_WHITE_UNDERLINE "\033[4;37m"

#define COLOR_BLACK_BG "\033[40m"
#define COLOR_RED_BG "\033[41m"
#define COLOR_GREEN_BG "\033[42m"
#define COLOR_YELLOW_BG "\033[43m"
#define COLOR_BLUE_BG "\033[44m"
#define COLOR_MAGENTA_BG "\033[45m"
#define COLOR_CYAN_BG "\033[46m"
#define COLOR_WHITE_BG "\033[47m"

#define COLOR_RESET "\033[0m"

#endif /* __COLOR_H */